# object类
class Person(object):   # Person()括号内不写，默认继承object类
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def show(self):
        print(f'我叫{self.name}，今年{self.age}。')

per = Person('韩梅梅', 20) # 创建对象的时，会自动调用__init__方法
print(dir(per))
print('-'*50)
print(per)  # 自动调用__str__方法
print('-'*50)

# __str__方法重写
class Person1:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def __str__(self):
        return '这是一个人类，具有name和age两个实例属性'    #返回值是一个字符串
per1 = Person1('韩梅梅', 20)
print(per1)
print(per1.__str__())   # 手动调用__str__方法